package br.com.fiap.vendas.business.delegate;

import java.math.BigDecimal;
import java.util.List;

import br.com.fiap.vendas.business.exception.ServiceException;
import br.com.fiap.vendas.business.service.interfaces.ProdutoService;
import br.com.fiap.vendas.business.service.interfaces.UsuarioService;
import br.com.fiap.vendas.business.vo.ProdutoVO;
import br.com.fiap.vendas.common.locator.ServiceLocator;

public class ProdutoDelegate {
	
	private ServiceLocator locator;
	private ProdutoService produtoService;
	
	public ProdutoDelegate() {
		this.locator = ServiceLocator.getInstance();
	}

	private ProdutoService getService() {
		if (this.produtoService == null) {
			this.produtoService = (ProdutoService) locator
					.lookup(ProdutoService.JNDI_NAME);
		}
		return produtoService;
	}

	public void inserirProduto(ProdutoVO produtoVO) throws ServiceException {

		getService().inserirProduto(produtoVO);

	}

	public List<ProdutoVO> listarProdutos() throws ServiceException {
		return getService().listarTodosProdutos();
	}
	
	public List<ProdutoVO> buscarProdutos(final BigDecimal valor, final Integer quantidade) throws ServiceException {
		return getService().buscarProdutos(valor, quantidade);
	}



}
